Change operator precedence to be left biased. #2685
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Make &, &&, |, ||, ++, and :: operators left associative.
The tradeoff here is between JS and OCaml.
Here’s the precedence list of JS: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#table
and here of OCaml:
https://v2.ocaml.org/api/Ocaml_operators.html
The important difference here is:
&, &&, |, ||, ^, ::
right associative in OCaml (and current ReasonML default)&, &&, |, ||, +
left associative in JS.::
is obviously not present in JS and I decided to make that left associative as well as it “feels” more correct here.See also: #2672